package co.edu.usbcali.modeloo;

import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * Subactividad entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "subactividad", catalog = "estimacionpreliminar")
public class Subactividad implements java.io.Serializable {

	// Fields

	private Integer idsubactividad;
	private String nombresubactividad;
	private Integer factorFormulaSubactividad;
	private String descripcionsubactividad;
	private String secuenciadeactividades;
	private String realizadaspor;
	private String actividadespredecesoras;
	private String superposicion;
	private String actividadesconcurrentes;
	private String actividadessucesoras;
	private Set<SubactividadPorActividad> subactividadPorActividads = new HashSet<SubactividadPorActividad>(
			0);

	// Constructors

	/** default constructor */
	public Subactividad() {
	}

	/** minimal constructor */
	public Subactividad(Integer idsubactividad) {
		this.idsubactividad = idsubactividad;
	}

	/** full constructor */
	public Subactividad(Integer idsubactividad, String nombresubactividad,
			Integer factorFormulaSubactividad, String descripcionsubactividad,
			String secuenciadeactividades, String realizadaspor,
			String actividadespredecesoras, String superposicion,
			String actividadesconcurrentes, String actividadessucesoras,
			Set<SubactividadPorActividad> subactividadPorActividads) {
		this.idsubactividad = idsubactividad;
		this.nombresubactividad = nombresubactividad;
		this.factorFormulaSubactividad = factorFormulaSubactividad;
		this.descripcionsubactividad = descripcionsubactividad;
		this.secuenciadeactividades = secuenciadeactividades;
		this.realizadaspor = realizadaspor;
		this.actividadespredecesoras = actividadespredecesoras;
		this.superposicion = superposicion;
		this.actividadesconcurrentes = actividadesconcurrentes;
		this.actividadessucesoras = actividadessucesoras;
		this.subactividadPorActividads = subactividadPorActividads;
	}

	// Property accessors
	@Id
	@Column(name = "IDSUBACTIVIDAD", unique = true, nullable = false)
	public Integer getIdsubactividad() {
		return this.idsubactividad;
	}

	public void setIdsubactividad(Integer idsubactividad) {
		this.idsubactividad = idsubactividad;
	}

	@Column(name = "NOMBRESUBACTIVIDAD", length = 1)
	public String getNombresubactividad() {
		return this.nombresubactividad;
	}

	public void setNombresubactividad(String nombresubactividad) {
		this.nombresubactividad = nombresubactividad;
	}

	@Column(name = "FACTOR_FORMULA_SUBACTIVIDAD")
	public Integer getFactorFormulaSubactividad() {
		return this.factorFormulaSubactividad;
	}

	public void setFactorFormulaSubactividad(Integer factorFormulaSubactividad) {
		this.factorFormulaSubactividad = factorFormulaSubactividad;
	}

	@Column(name = "DESCRIPCIONSUBACTIVIDAD", length = 200)
	public String getDescripcionsubactividad() {
		return this.descripcionsubactividad;
	}

	public void setDescripcionsubactividad(String descripcionsubactividad) {
		this.descripcionsubactividad = descripcionsubactividad;
	}

	@Column(name = "SECUENCIADEACTIVIDADES", length = 100)
	public String getSecuenciadeactividades() {
		return this.secuenciadeactividades;
	}

	public void setSecuenciadeactividades(String secuenciadeactividades) {
		this.secuenciadeactividades = secuenciadeactividades;
	}

	@Column(name = "REALIZADASPOR", length = 100)
	public String getRealizadaspor() {
		return this.realizadaspor;
	}

	public void setRealizadaspor(String realizadaspor) {
		this.realizadaspor = realizadaspor;
	}

	@Column(name = "ACTIVIDADESPREDECESORAS", length = 100)
	public String getActividadespredecesoras() {
		return this.actividadespredecesoras;
	}

	public void setActividadespredecesoras(String actividadespredecesoras) {
		this.actividadespredecesoras = actividadespredecesoras;
	}

	@Column(name = "SUPERPOSICION", length = 100)
	public String getSuperposicion() {
		return this.superposicion;
	}

	public void setSuperposicion(String superposicion) {
		this.superposicion = superposicion;
	}

	@Column(name = "ACTIVIDADESCONCURRENTES", length = 100)
	public String getActividadesconcurrentes() {
		return this.actividadesconcurrentes;
	}

	public void setActividadesconcurrentes(String actividadesconcurrentes) {
		this.actividadesconcurrentes = actividadesconcurrentes;
	}

	@Column(name = "ACTIVIDADESSUCESORAS", length = 100)
	public String getActividadessucesoras() {
		return this.actividadessucesoras;
	}

	public void setActividadessucesoras(String actividadessucesoras) {
		this.actividadessucesoras = actividadessucesoras;
	}

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "subactividad")
	public Set<SubactividadPorActividad> getSubactividadPorActividads() {
		return this.subactividadPorActividads;
	}

	public void setSubactividadPorActividads(
			Set<SubactividadPorActividad> subactividadPorActividads) {
		this.subactividadPorActividads = subactividadPorActividads;
	}

}